import router from "@/router";
import axios from "axios";

// const baseURL = "http://127.0.0.1:8000"; // 更换成自己的API接口地址

const axiosIns = axios.create({
//   baseURL,
  timeout: 10 * 1000,        // 超时时间设置为10秒
  withCredentials: false,      // 允许携带session
  
});


// 封装get请求,并将封装的方法暴露出去
export const get = (url, params) => {
  return axiosIns.get(url,{params})
}

// 封装post请求
export const post = (url, data) => {
  return axiosIns.post(url,data)
}

// 封装put请求
export const put = (url, data) => {
  return axiosIns.put(url,data)
}

// 封装delete请求
export const del = (url, data) => {
  return axiosIns.delete(url,{data})
}


// 请求拦截器 
axiosIns.interceptors.request.use(
  function (config) {
    // console.group('全局请求拦截')
    // console.log(config)

    //获取登录后localStorage存储的token
    let token = localStorage.getItem('userid') 
    if (token) {
          config.headers.Authorization = token;
    }

    return config
  },
  function (err){
    return Promise.reject(err)
  }
)

// 响应拦截
// 服务器返回数据之后都会先执行次方法
axiosIns.interceptors.response.use(
   function (response){
    //  console.group('全局响应拦截')
    //  console.log(response)

      // 看是否登录
     if(response.data.code == '10001'){
        router.push('/login')
     }

     return response
   },
  function (err){
     return Promise.reject(err)
  }
)